package viqiang.ye.pattern.template;

/**
 * 主要解决：一些方法通用，却在每一个子类都重新写了这一方法。
 * 何时使用：有一些通用的方法。
 * 如何解决：将这些通用算法抽象出来。
 *
 */
public abstract class Game {
    abstract void initialize();
    abstract void startPlay();
    abstract void endPlay();


    //模板
    public final void play(){
        //初始化游戏
        initialize();

        //开始游戏
        startPlay();

        //结束游戏
        endPlay();
    }
}
